package Persistencia.DAO;

import java.util.List;

import javax.persistence.EntityManager;

import play.db.jpa.JPA;

import models.Funcionario;
import Persistencia.Exception.DAOException;

public class DAOFuncionario implements IDAOFuncionario{

	@Override
	public void addEntity(Funcionario entity) throws DAOException {
		EntityManager em = JPA.em();
		em.persist(entity);
	}

	@Override
	public void updateEntity(Funcionario entity) throws DAOException {
		// TODO Auto-generated method stub
		EntityManager em = JPA.em();
		em.getTransaction();
		em.refresh(entity);
		em.getTransaction().commit();
	}

	@Override
	public void removeEntity(Funcionario entity) throws DAOException {
		// TODO Auto-generated method stub
		EntityManager em = JPA.em();
		em.getTransaction();
		em.remove(entity);
		em.getTransaction().commit();
	}

	@Override
	public List<Funcionario> findAll() throws DAOException {
		// TODO Auto-generated method stub
		List<Funcionario> f = Funcionario.findAll();
		return f;
	}

	@Override
	public Funcionario findById(Integer id) throws DAOException {
		// TODO Auto-generated method stub
		return null;
	}

	public Funcionario findByCPF(String cpf) {
		Funcionario func = null;
		List<Funcionario> lFunc = Funcionario.findAll();
		for (Funcionario f: lFunc){
			if(f.getCpf().equals(cpf)){
				func = f;
				break;
			}
		}
		return func;
	}

}
